package io.github.talelin.latticy.model;

import java.math.BigDecimal;

import io.github.talelin.latticy.dto.rule.chargeDataItem.ChargeDataItemDTO;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import org.springframework.beans.BeanUtils;

/**
 * 计费数据项
 *
 * @author generator@wulongbo
 * @since 2022-08-26
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("charge_data_item")
@AllArgsConstructor
@NoArgsConstructor
public class ChargeDataItemDO extends BaseModel {


    /**
     * SKU类型数量
     */
    private Integer skuTypeQuantity;

    /**
     * 箱子总数量
     */
    private Integer boxTotalNum;

    /**
     * 产品数量
     */
    private Integer productQuantity;

    /**
     * 箱种类数
     */
    private Integer boxesNum;

    /**
     * 总重量
     */
    private BigDecimal totalWeight;

    /**
     * 箱子总体积
     */
    private BigDecimal totalBoxVolume;

    /**
     * 接收入库栈板数
     */
    private Integer receivingPalletsNum;

    /**
     * 接收转运栈板数
     */
    private Integer receivingTransferNum;

    /**
     * 单箱sku类型数量
     */
    private Integer singleBoxNum;

    /**
     * 单箱产品数量
     */
    private Integer singleBoxProductNum;

    /**
     * 入库运输类型
     */
    private Integer transportationType;

    /**
     * 单箱重量
     */
    private BigDecimal singleBoxWeight;

    /**
     * 单箱体积
     */
    private BigDecimal boxVolume;

    /**
     * 入库类型
     */
    private Integer storageType;

    /**
     * 进仓前打托
     */
    private Integer palletBeforeWarehousing;

    /**
     * 产品重量
     */
    private BigDecimal productWeight;

    /**
     * 产品体积
     */
    private BigDecimal productVolume;

    public ChargeDataItemDO(ChargeDataItemDTO dto){
        BeanUtils.copyProperties(dto, this);
    }

}
